lets_plot.geom_raster

lets_plot.geom_raster(mapping=None, *, data=None, stat=None, position=None, show_legend=None, sampling=None, **other_args)

Display rectangles with x, y values mapped to the center of the tile. This is a high performance special function for same-sized tiles. Much faster than geom_tile() but doesn’t support width/height and color.

Parameters
  • mapping (FeatureSpec) – Set of aesthetic mappings created by aes() function. Aesthetic mappings describe the way that variables in the data are mapped to plot “aesthetics”.

  • data (dict or DataFrame) – The data to be displayed in this layer. If None, the default, the data is inherited from the plot data as specified in the call to ggplot.

  • stat (str, default=’identity’) – The statistical transformation to use on the data for this layer, as a string.

  • position (str or FeatureSpec) – Position adjustment, either as a string (‘identity’, ‘stack’, ‘dodge’, …), or the result of a call to a position adjustment function.

  • show_legend (bool, default=True) – False - do not show legend for this layer.

  • sampling (FeatureSpec) – Result of the call to the sampling_xxx() function. Value None (or ‘none’) will disable sampling for this layer.

  • other_args – Other arguments passed on to the layer. These are often aesthetics settings used to set an aesthetic to a fixed value, like color=’red’, fill=’blue’, size=3 or shape=21. They may also be parameters to the paired geom/stat.

Returns

Geom object specification.

Return type

LayerSpec

Note

Understands the following aesthetics mappings:

  • x : x-axis coordinates of the center of rectangles.

  • y : y-axis coordinates of the center of rectangles.

  • alpha : transparency level of a layer. Understands numbers between 0 and 1.

  • fill : color of geometry filling.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import numpy as np
from scipy.stats import multivariate_normal
from lets_plot import *
LetsPlot.setup_html()
np.random.seed(42)
n = 25
x = np.linspace(-1, 1, n)
y = np.linspace(-1, 1, n)
X, Y = np.meshgrid(x, y)
mean = np.zeros(2)
cov = [[1, -.5],
       [-.5, 1]]
rv = multivariate_normal(mean, cov)
Z = rv.pdf(np.dstack((X, Y)))
data = {'x': X.flatten(), 'y': Y.flatten(), 'z': Z.flatten()}
ggplot(data) + \
    geom_raster(aes(x='x', y='y', fill='z')) + \
    scale_fill_gradient(low='#54278f', high='#f2f0f7')

1
2
3
4
5
6
7
8
9
import numpy as np
from lets_plot import *
LetsPlot.setup_html()
np.random.seed(42)
data = {var: np.random.uniform(size=10) for var in 'abcd'}
ggplot(data) + \
    geom_raster(aes(fill='..corr..'), stat='corr', tooltips='none') + \
    geom_text(aes(label='..corr..'), stat='corr', color='white') + \
    scale_fill_brewer(type='div', palette='RdBu', breaks=[-1, -.5, 0, .5, 1])